package cn.bone.ou.vote.bean;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

/**
 * 投票基本信息
 */
@Data
@TableName("vote_info")
public class VoteInfo {
    @TableId
    private Integer id;
    private Integer communityId;    //小区编号
    private Integer voteRange;          //投票范围.默认为1
    private String title;           //标题
    private Date startTime;         //开始时间
    private Date endTime;           //结束时间
    private Date createTime;        //创建时间
    private Integer createUserId;   //创建人id

    /**
     * 0: 新创建
     * 1: 待修改
     * 2: 已终止
     *
     * 3: 发布-未开始
     * 4: 发布-进行中
     * 5: 发布-已结束
     *
     * 状态为 0,1,2,5 时前端用户不可见
     * 3个发布状态根据投票的开始时间和结束时间来自动修改
     *
     *  新创建 ->
     *      [发布] - 状态改为发布
     *      [终止] - 状态改为已终止
     *      [修改]
     *      [查看]
     *  待修改 ->
     *      [发布] - 状态改为发布
     *      [终止] - 状态改为已终止
     *      [修改]
     *      [查看]
     *  已终止 ->
     *      [删除]
     *      [查看]
     *  发布-未开始 ->
     *      [取消发布] - 状态改为待修改
     *      [查看]
     *  发布-进行中 ->
     *      [取消发布] - 状态改为待修改
     *      [查看]
     *  发布-已结束 ->
     *      [查看]
     */
    private Integer state;          //状态
}
